The background description provided herein is for the purpose of generally presenting the context of the disclosure. Unless otherwise indicated herein, the materials described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.
An emerging generation of advanced computing system may include smart memory. Smart memory is the term currently used to refer to memory subsystem with near data processing (NDP) or in memory processing (IMP) capability, in addition to the memory/storage modules themselves. The memory is smart in that the complementary NDP or IMP capability can process the data after the memory subsystem receives the data.
Typically, for performance reasons, memory controller that supports smart memory also include hardware implemented physical memory interleaving. Physical memory interleaving may provide performance improvement in the range of 20%-30% if software is designed well to read/write data on cacheline boundary. However, physical memory interleaving may have the potential disadvantage of fragmenting the data being stored. As a result, processing of the fragmented data may need another layer of merging operation (that merges results from two or more interleaved memory/storage modules), which can reduce the increment of performance that is supposed to be achieved. It is also very difficult, or impossible, to perform merging operation for some cases where complete dataset have to be processed together or in order. And the entire performance increment would be lost if physical memory interleaving is disabled to prevent data fragmentation.